/*
 * @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
 *
 * @author Julius Härtl <jus@bitgrid.net>
 *
 * @license GNU AGPL version 3 or any later version
 *  
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU Affero General Public License as
 *  published by the Free Software Foundation, either version 3 of the
 *  License, or (at your option) any later version.
 *  
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU Affero General Public License for more details.
 *  
 *  You should have received a copy of the GNU Affero General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *  
 */

app.config(function ($provide, $routeProvider, $interpolateProvider, $httpProvider, $urlRouterProvider, $stateProvider, $compileProvider, markdownItConverterProvider) {
    'use strict';
    $httpProvider.defaults.headers.common.requesttoken = oc_requesttoken;

    $compileProvider.debugInfoEnabled(true);

    markdownItConverterProvider.config({
        breaks: true,
        linkify: true,
        xhtmlOut: true
    });
    markdownItConverterProvider.use(markdownitLinkTarget);

    $urlRouterProvider.otherwise('/');

    $stateProvider
        .state('list', {
            url: '/:filter',
            templateUrl: '/boardlist.mainView.html',
            controller: 'ListController',
			reloadOnSearch: false,
			params: {
				filter: { value: '', dynamic: true }
            }
		})
        .state('board', {
            url: '/board/:boardId/:filter',
            templateUrl: '/board.html',
            controller: 'BoardController',
            params: {
                filter: { value: '', dynamic: true }
            }
        })
        .state('board.detail', {
            url: '/detail/',
            reloadOnSearch : false,
            views: {
                'sidebarView': {
                    templateUrl: '/board.sidebarView.html'
				}
            }
		})
        .state('board.card', {
            url: '/card/:cardId',
            views: {
                'sidebarView': {
                    templateUrl: '/card.sidebarView.html',
                    controller: 'CardController'
                }
            }
        });


});